Virtual storage (e.g., a virtual hard disk) is basically a file or other storage extent (e.g., a disk, partition on a disk or the like) that is configured to operate as a physical hard disk drive for a computer system. There are various reasons why virtual storage needs to be migrated from a source storage location to a storage location, including load balancing and maintenance. For example, a virtual machine (comprising software executing to act as a physical machine) may be moved (live-migrated) from one host computer to another, by transferring the state of the virtual machine and resuming execution. The state of the virtual machine includes the current state of the virtual processors, the contents of memory, the current state of the virtual devices, and the contents of the disks and/or virtual disks in use by the virtual machine. Typically, the largest amount of data is in the virtual disks.
Many live-migration scenarios utilize SAN (storage area network) technology to avoid copying the entire contents of a virtual disk from the physical storage of one host to the physical storage of another host, because performing an entire copy operation generally takes too much time for live-migration. However, SANs can be expensive. Also, for some datacenters and workloads, the only reason to perform live migrations is to vacate a server so that the server can be rebooted or turned off for software or hardware servicing. This may occur very infrequently, whereby the time to perform a live migration operation is not particularly of concern. In many situations the concern with storage migration is mainly about cost, whereby an expensive SAN solution is not desirable.